home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-06-28 | 74.3 KB | 3,004 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Window BOSS
- by Phil Mongelluzzo
-
- Revision: 06.04.87
-
-
-
-
- Star Guidance Consulting
- 273 Windy Drive
- Waterbury, Connecticut 06705
-
- (203) 574-2449
-
-
-
-
-
-
-
-
- Copyright (c) 1984, 1985, 1986, 1987 by Philip A. Mongelluzzo
- All Rights Reserved.
-
-
-
-
-
-
- The Window BOSS Shareware diskette, containing a copy of this
- manual may be freely copied and shared, but printed copies of
- this document may not be copied in any way without permission in
- writing from Star Guidance Consulting. Thank you.
-
-
-
-
-
-
-
-
-
-
-
-
- The Window BOSS
-
-
-
- 1. Introduction
-
- The Window BOSS is one of the most powerful and cost-effective
- products available to enhance and accelerate the development of
- system and applications programs in the "C" language. The BOSS
- will let you create programs that have the same look and feel as
- top sellers like Lotus 1-2-3, Sidekick, dBASE III, and Framework!
- Pop-up windows, pull down menus, status lines, and in context on-
- line help functions can be easily implemented. Your applications
- can drag windows around the screen and automatically sense the
- video card installed. All of this without snow, flicker, or
- delay!
-
- Registered users can take advantage of our "Source Plus" policy
- that provides meticulously commented source code and one year of
- free updates.
-
- 2. Technical Nitty Gritties
-
- The Window BOSS supports PC/MSDOS for the IBM PC/XT/AT and
- compatibles. However, you'll need one of the following
- compilers in order to take advantage of the state-of-the-art
- techniques available from the BOSS:
-
- Lattice C, Microsoft C,
- Borland Turbo C,
- Computer Innovations CI86, Datalight
-
- The BOSS is written in "C" and assembly language. You'll need
- the Microsoft Assembler, MASM, to assemble any local changes to
- the assembler source.
-
- Stats:
-
- Maximum windows: limited only by compiler and memory
- Maximum window: full screen
- Minimum window: 1 row 1 column (borderless)
- 3 rows 3 columns (framed)
-
- Operation:
-
- Simply include the library at link time and invoke the
- function desired.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 1
-
-
-
-
-
- The Window BOSS
-
-
-
- 3. User Supported Software
-
- Star Guidance Consulting distributes The Window BOSS with a
- unique marketing approach called Shareware. The Shareware
- diskette with the programs and manual may be freely copied and
- shared. It is also available from Star Guidance for $15.00 to
- cover the diskette, postage and handling. We ask you to help us
- distribute The Window BOSS by sharing unmodified copies of the
- Shareware diskette with others. We also encourage you to
- register your copy for $50.00. You'll find a registration form
- at the end of this manual. Thank you for your support and enjoy
- the BOSS.
-
- 3.1. Registering
-
- Shareware is a term for software that can be freely copied and
- shared. The term describes copyrighted software which the author
- supports and encourages people to copy and share.
-
- Shareware is like public television: the programming is freely
- distributed, but support from users is encouraged. The concept
- is based on these principles:
-
- 1. People need to try programs to see if they are useful.
- 2. Software authors can be supported directly by users.
- 3. Copying and networking of programs can be encouraged.
-
- We encourage you to register your copy of The Window BOSS for
- $50.00. Registration has a number of benefits to you:
-
- 1. Serialized diskette containing all source code for all
- supported compilers.
- 2. Telephone Support (you pay phone charges) and free updates
- for 1 year.
- 3. Thanks from us for your support and encouragement!
-
- You will find a registration form at the end of this document.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 2
-
-
-
-
-
- The Window BOSS
-
-
-
- 3.2. The SHAREWARE Distribution Diskette
-
- The SHAREWARE diskette should contain the following files:
-
- ARCE.DOC <- Archive utility document
- ARCE.EXE <- Archive utility
- BOSS.ARC <- The Window BOSS distribution archive.
- BOSS.DOC <- You are reading it
- BOSS.TOC <- Table of contents for manual
-
- Contents of BOSS.ARC:
-
- BOSSDEMO.C <- Source to BOSSSDEMO
- BOSSDEMO.EXE <- DEMO Program
- C86.BAT <- Compiler Driver - CI86
- DLC.BAT <- Compiler Driver - Datalight
- MSC3.BAT <- Compiler Driver - Microsoft 3
- MSC4.BAT <- Compiler Driver - Microsoft 4
- LCS2 <- Compiler Driver - Lattice 2.XX
- LCS3 <- Compiler Driver - Lattice 3.XX
- TCS <- Compiler Driver - Turbo C (TCC)
- GENINDEX.C <- Source to GENINDEX (CI86)
- HELLO.C <- The classic....
- HELP.C <- Help system source
- INTELC.HLP <- Demo DATA file
- INTELC.NDX <- Index to Demo DATA file
- LOADC86.BAT <- Link Batch file - CI86
- LOADDLC.BAT <- Link Batch file - Datalight
- LOADLC2.BAT <- Link Batch file - Lattice 2.XX
- LOADLC3.BAT <- Link Batch file - Lattice 3.XX
- LOADMS3.BAT <- Link Batch file - Microsoft 3
- LOADMS4.BAT <- Link Batch file - Microsoft 4
- LOADTC.BAT <- Tlink Batch file - Turbo C
- PEEK.C <- Peek for Microsoft (Turbo C)
- POPUP.C <- Popup menu source
- SC86.LIB <- Small memory library - CI86
- SDLC.LIB <- Small memory library - Datalight
- SLAT2.LIB <- Small memory library - Lattice 2.XX
- SLAT3.LIB <- Small memory library - Lattice 3.XX
- SMSC3.LIB <- Small memory library - Microsoft 3.0
- SMSC4.LIB <- Small memory library - Microsoft 4.0
- STC.LIB <- Small memory library - Turbo C 1.X
- WINDOWS.FNS <- Type Checking INCLUDE file - Microsoft
- WINDOWS.H <- BOSS INCLUDE file
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 3
-
-
-
-
-
- The Window BOSS
-
-
-
- 3.3. The SOURCE Distribution Diskette
-
- The SOURCE diskette(s) should contain the following files:
-
- ARCE.DOC <- Documentation for ARC.EXE
- ARCE.EXE <- Archive utility
- ASMFILES.ARC <- Source to all assembler modules
- C86.ARC <- Computer Innovations specific files
- CFILES.ARC <- Source to all "C" modules
- DLC.ARC <- Datalight specific files
- DOC.ARC <- Latest documentation
- FILES.LST <- List of the ARChive file contents
- HELLO.C <- The classic
- LC2.ARC <- Lattice Ver 2.XX specific files
- LC3.ARC <- Lattice Ver 3.XX specific files
- MS3.ARC <- Microsoft Ver 3.00 specific files
- MS4.ARC <- Microsoft Ver 4.00 specific files
- TC1.ARC <- Borland Turbo C 1.XX specific files
- READ.ME <- READ THIS - Last minute notes
- REV.LEV <- Revision level
-
- Contents of ASMFILES.ARC (ASM Source Files)
-
- DLVLIB.ASM <- ASM routines for Datalight
- MSVLIB.ASM <- ASM routines for Microsoft & Borland
- VLIB.ASM <- ASM routines for Lattice & CI86
-
- Contents of C86.ARC (Computer Innovations Specific Files)
-
- ASMALL.BAT <- Small model assembler driver
- ALARGE.BAT <- Large model assembler driver
- CC.BAT <- Small model compiler driver
- CCBIG.BAT <- Large model compiler driver
- EPILOGUE.H <- ASM include file
- LCOMPILE.BAT <- Large model - compile *.c
- LOADC86.BAT <- Link driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Builds LIB file from OBJ(s)
- MODEL.H <- ASM include file
- PROLOGUE.H <- ASM include file
- SCOMPILE.BAT <- Small model - compile *.c
- SWIN.LIB <- Small model library
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 4
-
-
-
-
-
- The Window BOSS
-
-
-
- The SOURCE Distribution Diskette - continued.
-
-
-
- Contents of CFILES.ARC (C Source Files)
-
- BOSSDEMO.C <- BOSSDEMO Source
- GENINDEX.C <- GENINDEX Source
- HELP.C <- Help function source
- PEEK.C <- PEEK for MSC (Turbo C)
- POPUP.C <- Popup menu source
- SCANCODE.C <- Quickie to display KB scancodes
- WINDOWS.FNS <- Function protype header file
- WINDOWS.C \
- WINDOWS.H \
- WN_ACTIV.C \
- WN_BOXSE.C \
- WN_CLOSE.C \
- WN_CLR.C \
- WN_COLOR.C \
- WN_DBORD.C \
- WN_DELRO.C \
- WN_DMA.C \
- WN_SCROL.C |
- WN_FIXCS.C | The Window BOSS C
- WN_GETS.C | level source code and
- WN_INSRO.C | include file.
- WN_LOCAT.C |
- WN_MOVE.C |
- WN_NATRI.C |
- WN_OPEN.C /
- WN_PRINT.C /
- WN_PUTS.C /
- WN_RESTO.C /
- WN_SAVE.C /
- WN_SUP.C /
- WN_SYNC.C /
- WN_TITLE.C /
- WN_WRAP.C /
- WPRINTF.C /
-
- Contents of DOC.ARC (Documentation)
-
- WINDOWS.MAN <- Reference Manual (This Document)
- WINDOWS.TOC <- Table of Contents for manual
-
-
-
-
-
-
-
-
-
-
-
- Page: 5
-
-
-
-
-
- The Window BOSS
-
-
-
- The SOURCE Distribution Diskette - continued.
-
-
-
- Contents of LC2.ARC (Lattice & Microsoft Ver 2.XX Specific)
-
- ASMALL.BAT <- Small model assembler driver
- ALARGE.BAT <- Large model assembler driver
- LCOMPILE.BAT <- Large model - compile *.c
- LCS.BAT <- Small model compiler driver
- LCL.BAT <- Large model compiler driver
- LOADLC.BAT <- Link driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Build LIB file from OBJ(s)
- MAKELIB.CMD <- Data file for MAKELIB.BAT
- SCOMPILE.BAT <- Small model - compile *.c
- SWIN.LIB <- Small model library
-
- Contents of LC3.ARC (Lattice Ver 3.XX Specific Files)
-
- ASMALL.BAT <- Small model assembler driver
- ALARGE.BAT <- Large model assembler driver
- LCOMPILE.BAT <- Large model - compile *.c
- LCS.BAT <- Small model compiler driver
- LCL.BAT <- Large model compiler driver
- LOADLC.BAT <- Link driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Build LIB file from OBJ(s)
- MAKELIB.CMD <- Data file for MAKELIB.BAT
- SCOMPILE.BAT <- Small model - compile *.c
- SWIN.LIB <- Small model library
-
- Contents of MS3.ARC (Microsoft Ver 3.00 Specific Files)
-
- ASMALL.BAT <- Small model assembler driver
- ALARGE.BAT <- Large model assembler driver
- LCOMPILE.BAT <- Large model - compile *.c
- LOADMS.BAT <- Link driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Build LIB file from OBJ(s)
- MAKELIB.CMD <- Data file for MAKELIB.BAT
- MCCL.BAT <- Large model compiler driver
- MCCS.BAT <- Small model compiler driver
- SCOMPILE.BAT <- Small model - compile *.c
- SWIN.LIB <- Small model library
-
-
-
-
-
-
-
-
-
-
-
- Page: 6
-
-
-
-
-
- The Window BOSS
-
-
-
- The SOURCE Distribution Diskette - continued.
-
-
-
- Contents of MS4.ARC (Microsoft Ver 4.00 Specific Files)
-
- ASMALL.BAT <- Small model assembler driver
- ALARGE.BAT <- Large model assembler driver
- LCOMPILE.BAT <- Large model - compile *.c
- LOADMS.BAT <- Link driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Build LIB from OBJ(s)
- MAKELIB.CMD <- Data file for MAKELIB.BAT
- MCCL.BAT <- Large model compiler driver
- MCCS.BAT <- Small model compiler driver
- SCOMPILE.BAT <- Small model - compile *.c
- SWIN.LIB <- Small model library
-
- Contents of DLC.ARC (Datalight Specific)
-
- ASMALL.BAT <- Small model assembler driver
- ALARGE.BAT <- Large model assembler driver
- CCS.BAT <- Small model compiler driver
- CCL.BAT <- Large model compiler driver
- LCOMPILE.BAT <- Large model - compile *.c
- LOADDLC.BAT <- Link driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Build LIB from OBJ(s)
- MAKELIB.CMD <- Data file for MAKELIB.BAT
- SCOMPILE.BAT <- Small model - compile *.c
- SWIN.LIB <- Small model library
-
- Contents of TC1.ARC (Borland Turbo C Specific)
-
- ALARGE.BAT <- Large model assembler driver
- ASMALL.BAT <- Small model assembler driver
- BOSSDEMO.PRJ <- TC Project file for BOSSDEMO
- LCOMPILE.BAT <- TCC - Large model - compile *.c
- LOADTC.BAT <- Tlink driver for BOSSDEMO
- LWIN.LIB <- Large model library
- MAKELIB.BAT <- Build LIB from OBJ(s)
- MAKELIB.CMD <- Data file for MAKELIB.BAT
- SCOMPILE.BAT <- TCC - Small model - compile *.c
- SWIN.LIB <- Small model library
- TCCL.BAT <- Large model TCC compiler driver
- TCCS.BAT <- Small model TCC compiler driver
-
-
-
-
-
-
-
-
-
-
- Page: 7
-
-
-
-
-
- The Window BOSS
-
-
-
- 4. Installation/Compiling/Linking
-
- 4.1. Installation
-
- By the numbers:
-
- 1) MAKE A BACKUP!!!
-
- 2) Shareware diskette - Use ARCE to unarchive the various
- ARCE files. You will need around 280k of free disk
- space for all the files.
-
- Source Code diskette - Use ARCE to unarchive
- CFILES.ARC, ASMFILES.ARC, and DOC.ARC. Then, depending
- upon the compiler you intend to use, unarchive only
- ONE of the following: LC2.ARC, LC3.ARC, MS3.ARC,
- MS4.ARC, DLC.ARC, C86.ARC, TC1.ARC
-
- 3) Copy the LIBrary that corresponds to the compiler you
- are using onto the disk(s) you usually use with your
- "C" compiler. The LIB file should be on the same
- disk(s) that the "C" runtime libraries are on. Be
- sure that the small model library is named "SWIN.LIB".
- The large model library should be named "LWIN.LIB".
-
- 4) Copy (or rename) the compiler driver batch file that
- corresponds to the compiler you are using to:
-
- CSM.BAT
-
- 5) Remember there is no magic to using The Window BOSS.
- Its simple!!
-
-
- 4.2. Compiling
-
- Compile your source code in the following manner:
-
- C>csm hello
-
- ** ALL compilers should be invoked with the compiler driver
- batch file supplied with The Window BOSS. This insures that
- the compiler specific command line parameters are specified
- correctly. Alternatively, you can edit "windows.h" and
- "windows.c" to define the compiler specific equate that
- applies to your compiler. Note - "windows.c" is included on
- the source distribution diskette only.
-
-
-
-
-
-
-
-
-
- Page: 8
-
-
-
-
-
- The Window BOSS
-
-
-
- Installation/Compiling/Linking - continued.
-
-
-
- 4.3. Linking
-
- Simply specify the ?WIN.LIB file that corresponds to the
- compiler/memory model you are using. Don't forget to
- include your compilers runtime library as well. The
- following examples should demonstrate the ease of linking.
-
- Lattice
- link c+hello,hello,,swin+lcm+lc
-
- Computer Innovations
- link hello,hello,,swin+c86s2s
-
- Datalight
- link c+hello,hello,hello,swin+nl
-
- Microsoft
- link hello,hello,,swin+slibc
-
- Borland
- tlink /c c0s hello,hello,hello,swin emu maths cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 9
-
-
-
-
-
- The Window BOSS
-
-
-
- 4.4. Sample program (hello.c)
-
- #include "windows.h"
- main()
- {
- WINDOWPTR w1; /* window handle */
- int batrib; /* border atrib */
- int watrib; /* window atrib */
-
- /*
- * Set attributes:
- *
- * border - blue/white box
- * window - white background/black letters
- *
- */
-
- batrib = v_setatr(BLUE,WHITE,0,0);
- watrib = v_setatr(WHITE,BLACK,0,0);
-
- /*
- * Open window at 0,0 - 15 cells wide and 3 cells high
- */
-
- w1 = wn_open(0,0,0,15,3,watrib,batrib);
- if(!w1) exit();
-
- /*
- * Print the famous string and wait for key to be struck.
- * Close window on key strike.. exit.
- */
-
- wn_printf(w1,"Hello World...");
- v_getch();
- wn_close(w1);
- }
-
- /* End */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 10
-
-
-
-
-
- The Window BOSS
-
-
-
- 5. General Notes
-
- Genindex, Help, and Popup are support programs and functions for
- the BOSSDEMO program. They can, however, serve as valuable aids
- to you in the creation of help screens and popup menus. The code
- is provided to demonstrate how the functions in The Window BOSS
- can be used to create online help screens and popup windows.
-
- Both the C and assembly functions make very heavy use of
- pointers. The code contains numerous checks to ensure that
- memory outside of that in use by the program is not corrupted.
- If you attempt to do something that would cause memory to be
- corrupted an error message will appear and your program will
- exit. This message will usually say that a bad handle was passed
- to some function. You can, if you wish, remove this check by
- modifying the "wns_err" function in the wn_sup.c file.
-
- Generally speaking, the members of the window control block
- (refer to windows.h) should not be modified unless you are
- familiar with how they are used by the various functions.
-
- Although the routines appear to support the multi page
- capabilities of the IBM Color Card, actual support of this
- feature has not been implemented. Invoking the functions with
- references to video pages other than 0 might produce interesting
- but undesired results.
-
- If you are upgrading from a previous version of The Window BOSS
- be sure to re-compile and re-link your application. This will
- eliminate the possibility of any "unusual" errors due to changes
- that may have been made to either the functions or the window
- control block structure.
-
- Several global symbols are used by the various functions:
-
- int wn_dmaflg;
- int wn_sbit;
- int wn_blank;
-
- wn_dmaflg when TRUE enables direct writes into video ram.
- This is the default setting and should work in all cases.
- Setting wn_dmaflg to FALSE will disable these direct writes.
- When wn_dmaflg is FALSE the BIOS video routines are used.
- This results in slower screen updates. However, this method
- does have the advantage of being considered "well behaved"
- by IBM's Topview, Microsoft's Windows, and DESQ.
-
- wn_sbit controls the window refresh rate on systems with
- color cards. When set to SLOW (defined in windows.h) window
- displays will appear to be painted on the screen rather than
- flash displayed. This is the default value. Setting wn_sbit
- to FAST enables flash displays. Artistic use of wn_sbit can
- give your application that extra visual touch. Experiment!
-
-
-
- Page: 11
-
-
-
-
-
- The Window BOSS
-
-
-
- General Notes - continued.
-
-
-
- wn_blank controls how window moves and tiled window updates
- occur on systems that are equipped with color cards. Its
- setting determines whether or not the video image should be
- shut off when a window is moved or a when a window other
- than the top window is referenced or activated. TRUE causes
- the video to be disabled during these activities. This is
- the default value. A value of FALSE allows these updates to
- occur in full view. Again, artistic use of wn_blank can
- give your application that extra visual touch. From a
- practical standpoint, wn_blank=FALSE should be used when
- manipulating small windows.
-
- From a performance standpoint, the fastest (flicker & snow free)
- screen updates will occur with wn_dmaflg=TRUE, wn_sbit=FAST, and
- wn_blank=FALSE. The key words here are flicker and snow free.
- Scrolling speed can be increased with, a proportional increase in
- flicker (perhaps), by using wn_scroll() function to set the
- scrolling method for the window to BIOS. This technique will
- provide the fastest screen updates and scrolling on color
- systems.
-
- Several of the compilers support a compile time command line
- parameter that results in structures being byte aligned instead
- of word aligned. In all cases, the default (i.e. no command line
- parameter) option was used to compile the modules in the various
- libraries.
-
- Borland Turbo C users who prefer "The Integrated Environment"
- over the "Command-Line Version" MUST define the symbol
- "BORLAND=1". (Select Options, Compiler, Defines and enter
- "BORLAND=1" in the dialogue box without quotes and in upper case.
-
- Programs such as Wordstar and Lotus change the video mode when
- they run. If your system is equipped with a color monitor and
- your windows are appearing in black and white issue a call to
- v_smode to set the video mode to 3. Alternatively, you can use
- the "MODE CO80" command at DOS level before you run your
- application.
-
- PLEASE - Pass along your comments. The Window BOSS is your tool.
- If, heaven forbid, you find any logic errors let us know. We are
- committed to making The Window BOSS the best price performer
- available. Call, write, or if you prefer, you can reach Phil
- Mongelluzzo via CompuServe [71565,1001]. Fido fans can leave mail
- on our support BBS at (203)-271-1579. There is no reason to sit,
- steam, or complain to those who can not provide any real form of
- support. Lastly, if you use The Window BOSS, register your copy.
- The Shareware System will only work if you support it!
-
-
-
-
- Page: 12
-
-
-
-
-
- The Window BOSS
-
-
-
- 6. Making Changes
-
- First, be sure that you are familiar with the existing
- conventions and compiler specific feature test switches. You
- can refer to the various BATch files for specific examples of
- compiler specific defines etc. With the exception of the ASM
- files, compiler and memory model specific feature test
- switches are specified on the command line. The ASM files
- require a few specific instructions:
-
- Editing:
-
- Computer Innovations, Lattice, and Microsoft 2.XX
-
- 1) vlib.asm Set LATTICE to 1 for Lattice and Microsoft 2.XX
- Set LATTICE to 0 for Computer Innovations.
-
- 2) model.h CI86 only - Set "SMALL" & "LARGE"
- See MODEL.H for discussion.
-
- Microsoft 3.00 & 4.00, Borland Turbo C
-
- 1) msvlib.asm Set LDATA & LPROG to TRUE or FALSE
- LDATA is TRUE for LARGE DATA
- LPROG is TRUE for LARGE CODE
-
- Assemble using:
-
- MASM /MX MSVLIB;
-
- Datalight
-
- 1) dos.mac Edit to reflect memory model.
- Additionally, MACROS.ASM must be present.
-
- Please note that we assume that you have installed your compiler
- exactly as suggested in the compiler's manual. This includes
- suggested sub-directories, PATH specifiers, and environment
- setup. Creating code that compiles under numerous compilers is
- not an easy task. If you run into problems review your compilers
- documentation and browse through the batch files provided. If
- you still have problems - call! The most common problem occurs
- with Lattice - make sure you have the correct DOS.MAC and that
- your PATH has been specified correctly.
-
- The distribution libraries were created on an IBMPC/AT under DOS
- 3.2 using Lattice (Lifeboat) 2.15E, Lattice 3.10, Microsoft 3.00,
- Microsoft 4.0, Borland Turbo C 1.0, and Datalight 2.12. Marion
- was used to create the LIB files for CI86. Microsoft's LIB was
- used for the Microsoft variants and Datalight. Lattice libraries
- were created with the library managers shipped with the
- respective versions of the compiler.
-
-
-
-
- Page: 13
-
-
-
-
-
- The Window BOSS
-
-
-
- Making Changes - continued.
-
-
-
- Depending upon the compiler being used, several warning errors
- will be generated. Warnings created by the unmodified
- distribution code can be safely ignored - all others should be
- investigated.
-
- A note of caution... PC/MS-DOS Version 2.XX's LINK can complain
- if you build a new library that takes advantage of later LINK
- enhancements. If this occurs, you can (1) upgrade to DOS 3.1++
- or, (2) get a librarian that isn't so smart!! We suggest going
- to the later rev of DOS.
-
- If you have need of a model specific library that is not part of
- the distribution either create it yourself or drop us a note and
- we will ship one to you. We can no longer distribute ALL library
- models for ALL compilers and still keep everything on a single
- diskette. We regret any inconvenience that this causes but
- the compiler vendors seem to be having a field day with memory
- models. Any comments you have on the subject are welcomed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 14
-
-
-
-
-
- The Window BOSS
-
-
-
- 7. Tiled Windows
-
- The Window BOSS fully supports the concept of tiled or
- overlapping windows. That is to say that you can have several
- windows on the screen at the same time and freely access any one
- of them without having to be concerned with the order in which
- they were opened or whether or not any other windows overlap the
- one you wish to access. The Window BOSS employs the "most
- recently used is active" concept. This concept is based on the
- following:
-
- . The last window referenced is the current active
- window.
-
- . The current active window is always the top window
- tile.
-
- For example, let us assume that you have opened three overlapping
- windows in the following order; w1, w2, w3. w3 is considered to
- be the top window tile because it was the last window referenced.
- If you now reference, or explicitly activate, w2 The Window BOSS
- will automatically adjust the screen image to insure that w2 is
- now the top window tile with w3 and w1 being partially hidden by
- w2.
-
- Before After
-
- +----------+ +----------+
- | W1 | | W1 |
- | +----------+ | +----------+
- | | W2 | | | W2 |
- | | +------------+ | | |----+
- | | | W3 | | | | W3 |
- | | | | | | | |
- | | +------------+ | | |----+
- | | | | | |
- | +----------+ | +----------+
- | | | |
- +----------+ +----------+
-
- It is extremely important to keep in mind that The Window BOSS
- will automatically activate (bring to the top) the window being
- referenced. Keep your screen layouts attractive and uncluttered.
- This will minimize window thrashing which is both annoying and
- time consuming.
-
-
-
-
-
-
-
-
-
-
-
- Page: 15
-
-
-
-
-
- The Window BOSS
-
-
-
- 8. Future Directions
-
- The Window BOSS will continue to be enhanced. In fact, The BOSS
- is about to hire a clerk to assist with data entry! The addition
- of The DATA CLERK to The Window BOSS's organization should assist
- those who have the need for more formal data validation routines
- and input field formatting. Naturally, we will keep things
- simple, consistent, and easy to use. Time permitting, The DATA
- CLERK should be on staff by mid year (July 1987).
-
- Support for Microsoft 2.XX, Lattice 2.XX, and Microsoft 3.0 will
- be dropped as soon as all registered users have ceased to
- use these versions. If you are using any of these compilers
- you should either upgrade or purchase the latest release.
-
- 9. Functions
-
- The Window BOSS's functions fall into two major groups, those
- that manipulate windows and those that deal with the video or
- keyboard interface at a relatively low level. All window
- manipulation functions being with the prefix "wn_" as in
- "wn_open", while all video and keyboard based functions begin
- with "v_" or "_" as in "v_getch" and "_putch". This convention
- makes it easy to remember where to look when you want to do
- something. Additionally, there are several global functions
- which which begin with "wns_". These functions, although visible
- to the outside world, are used internally by The Window BOSS.
-
- The Window BOSS has been tested on the IBMPC/XT/AT and 3270 PC
- equipped with monochrome, CGA, and EGA video boards. All
- functions with the exception of v_style(), which does not do well
- on the EGA and 3270 PC, work as specified.
-
- Several functions require an attribute byte. The attribute byte
- contains background specific data in the upper 4 bits and
- foreground specific data in the lower 4 bits. Color and bit
- definitions can be found in windows.h. You can use a statement of
- the form: atrib = ((BLUE << 4) | WHITE); to set the attribute to
- the correct form. The preceding example would result in a BLUE
- background with WHITE characters. The macro v_setatr in
- windows.h can also be used.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 16
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.1. wn_open -- open window
-
- USAGE
-
- wn = (WINDOWPTR)wn_open(page, row, col, width, height, atrib, batrib)
- int page, row, col, width, height, atrib, batrib;
-
- page - 0 ,1000, or 800.
- 1000 opens a borderless page
- 800 opens an exploding window
- row - row of upper left hand corner of the window
- col - column of upper left hand corner of the window
- width - INSIDE dimension (max value is 78, 80 if page = 1000)
- height- INSIDE dimension (max value is 23, 25 if page = 1000)
- atrib - attribute to be used IN the window
- batrib- attribute to be used for the border
-
- wn_open is usually the first function called to create and use
- a window. wn_open dynamically allocates memory to save the
- area defined by row, col, width, and height - saves the image,
- opens the window and homes the logical cursor to row 0, col 0
- of the window. The window is now ready to be used by the
- various window management routines.
-
- Attributes are defined in windows.h.
-
- RETURNS
-
- wn = window handle or NULL if error
-
- CAUTIONS
-
- Width and height are inside dimensions. If you want a window
- with a work area of 10 rows and 5 columns, the width is 7 and
- the height is 12.
-
- The flashing cursor will not be displayed unless wn_sync() has
- been called with a value of TRUE.
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 17
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.2. wn_title -- title window
-
- USAGE
-
- wn_title(wn,title)
- WINDOWPTR wn;
- char *title;
-
- wn - window handle
- title - string pointer to title
-
- The title is displayed on the top border of the window using
- the currently defined border attribute. The cursor is
- positioned off the screen after the title is written.
-
- RETURNS
-
- TRUE if all is well, NULL if the title is to large to fit on
- the top border or errror.
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
- 9.3. wn_titla -- title window with attribute
-
- USAGE
-
- wn_titla(wn,title,atrib)
- WINDOWPTR wn;
- char *title;
- int atrib;
-
- wn - window handle
- title - string pointer to title
- atrib - attribute to use for text
-
- The title is displayed on the top border of the window using
- the attribute specified by atrib. The cursor is positioned off
- the screen after the title is written.
-
- RETURNS
-
- TRUE if all is well, NULL if the title is to large to fit on
- the top border or error.
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
- Page: 18
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.4. wn_close -- close window
-
- USAGE
-
- wn_close(wn)
- WINDOWPTR wn;
-
- wn - handle of a previously opened window.
-
- wn_close removes the window specified by wn and restores the
- screen area under the window to its previous contents. The
- memory allocated by wn_open is returned to the free list. The
- cursor is positioned to where it was located prior to the
- wn_open call.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- None.
-
-
-
- 9.5. wn_save -- save screen image
-
- USAGE
-
- wn = (WINDOWPTR)wn_save(page, row, col, width, height)
- int page, row, col, width, height;
-
- page - always 0.
- row - row of upper left hand corner of the window
- col - column of upper left hand corner of the window
- width - INSIDE dimension (max value is 78)
- height- INSIDE dimension (max value is 23)
-
- wn_save can be used to save areas of the screen for purposes
- other than windows.
-
- Memory for the screen image is dynamically allocated.
-
- RETURNS
-
- wn = window handle or NULL if error
-
- CAUTIONS
-
- The window handle returned by wn_save should only be used with
- wn_restore, use with other routines could produce unpredictable
- results.
-
-
-
-
- Page: 19
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.6. wn_restore -- restore saved screen image
-
- USAGE
-
- wn_restore(wn)
- WINDOWPTR wn;
-
- wn - handle of previously wn_save(ed) window.
-
- Restores the screen image corresponding to the window handle
- wn, allocated memory is returned to the free list.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- This function should only be used with window handles obtained
- from wn_save.
-
-
-
- 9.7. wn_move -- move window
-
- USAGE
-
- wn = (WINDOWPTR)wn_move(wn,row,col)
-
- wn - handle of window to be moved
- row - destination row
- col - destination column
-
- Moves the window corresponding to wn to a new location. The
- cursor is positioned off the screen after the call.
-
- RETURNS
-
- Window handle of the window moved or NULL if error.
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 20
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.8. wn_locate -- locate cursor in window
-
- USAGE
-
- wn_locate(wn, row, col)
- WINDOWPTR wn;
- int row, col;
-
- wn - window handle
- row - row to position to (relative to window origin)
- col - column to position to (relative to window origin)
-
- Position the cursor to the row and column specified. Row and
- Column values are relative to the origin of the window (0,0
- locates the cursor in the upper left hand corner of the window
- referenced by wn).
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- Values of row & col are not checked.
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 21
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.9. wn_printf -- window printf
-
- USAGE
-
- wn_printf(wn, cs, args)
- WINDOWPTR wn;
- char *cs;
- ?? arg1 ... argn;
-
- wn - window handle
- cs - format control string
- args - argument list
-
- printf function for windows!
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- Output string length is limited to 254 bytes.
- Registered users can, of course, edit the wn_printf function
- set the limit to whatever they wish.
-
- Integer only for Microsoft 3.0. This limitation
- be overcome by using sprintf in conjunction with wn_printf.
- For example:
-
- char buf[256];
- ..
- ..
- sprintf(buf,"%d %l %x\n", intval, longval, hexval);
- wn_printf(wn, buf);
-
- Full support in Microsoft 4.0, Lattice, CI86, and Datalight.
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 22
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.10. wn_puts -- put string (high speed)
-
- USAGE
-
- wn_puts(wn, row, col, string)
- WINDOWPTR wn;
- int row, col;
- char *string;
-
- wn - window handle
- row - row to print the string at
- col - column to print the string at
- string- the string to print
-
- Row and Col are relative to the origin of the window.
-
- The cursor is displayed only if wn_synflg has been called with
- a value of TRUE.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- wn_puts writes the string directly to the video ram. Tabs, line
- feeds, carriage returns and other control characters are not
- filtered or processed in any way.
-
- Range checks are not performed to insure the specified string
- can be contained in the window.
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 23
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.11. wn_gets -- get string with validation
-
- USAGE
-
- (char *) wn_gets(wn, buf, va, uva)
- WINDOWPTR wn;
- char *buf;
- int va;
- char *uva;
-
- wn - window handle
- buf - user buffer for string
- va - input validation to be used
- uva - user validation list [optional]
-
- va specifies the type of input validation to be performed as
- data is being entered. Options are:
-
- (1) none no restrictions - accept everything
- (2) integer accept: 0 thru 9 + -
- (3) floating point accept: 0 thru 9 + - .
- (4) alpha only accept: a thru z (upper & lower case)
- (5) upper case only accept: A thru Z
- (6) validation list accept: only those characters
- (optional) specified in the uva string.
-
- ORing va with 0x8000 disables data entry character echo.
-
- The following editing functions are supported:
-
- . backspace & rubout do the logical things
- . ^U, ^X, and ^C wipe the field clean
- . Return and Esc end the input function
-
- Data entry takes place at the current logical cursor location.
- You can, of course, position the cursor to where you wish
- prior to calling wn_gets.
-
- Example:
-
- wn_printf(wn,"Enter your name > ");
- wn_get(wn,buf,4,0);
-
- RETURNS
-
- Pointer to buf or NULL if error
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
- Page: 24
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.12. wn_putsa -- put string and attribute (high speed)
-
- USAGE
-
- wn_putsa(wn, row, col, string, atrib)
- WINDOWPTR wn;
- int row, col;
- char *string;
- int atrib;
-
- wn - window handle
- row - row to print the string at
- col - column to print the string at
- string- the string to print
- atrib - attribute to be used with string
-
- Row and Col are relative to the origin of the window.
-
- The cursor is displayed only if wn_synflg has been called with
- a value of TRUE.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- wn_puts writes the string directly to the video ram. Tabs, line
- feeds, carriage returns and other control characters are not
- filtered or processed in any way.
-
- Range checks are not performed to insure the specified string
- can be contained in the window.
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 25
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.13. wn_insrow -- insert row in window
-
- USAGE
-
- wn_insrow(wn, row)
- WINDOWPTR wn;
- int row;
-
- wn - window handle
- row - row at which a line is to be inserted
-
- Row is relative to the origin of the window. All lines below
- the row specified are scrolled down. The currently defined
- window attribute is used to clear the lines inserted.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
- 9.14. wn_delrow -- delete row from window
-
- USAGE
-
- wn_delrow(wn, row)
- WINDOWPTR wn;
- int row;
-
- wn - window handle
- row - row at which a line is to be deleted
-
- Row is relative to the origin of the window. All lines below
- the row specified are scrolled up. The currently defined window
- attribute is used to clear the lines inserted.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
- Page: 26
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.15. wn_clr -- clear window
-
- USAGE
-
- wn_clr(wn)
- WINDOWPTR wn;
-
- wn - window handle
-
- The window corresponding to wn is cleared (mini clear screen).
- The currently defined window attribute is used to clear the
- interior of the window.
-
- The windows virtual cursor is homed.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
- 9.16. wn_activate -- activate window
-
- USAGE
-
- wn_activate(wn)
- WINDOWPTR wn;
-
- wn - window handle
-
- Activate a previously opened window. The window specified by
- "wn" becomes the top window tile.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- None.
-
-
-
-
-
-
-
-
-
-
-
- Page: 27
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.17. wn_color -- set window & border attribute
-
- USAGE
-
- wn_color(wn, atrib, batrib)
- WINDOWPTR wn;
- unsigned int atrib, batrib;
-
- wn - window handle
- atrib - attribute to be used for the window
- batrib- attribute to be used for the border
-
- wn_color sets the attribute to be used for all subsequent
- operations in the window. The attribute byte contains the
- background specific data in the upper 4 bits and the foreground
- specific data in the lower 4 bits. Color and bit definitions
- can be found in windows.h. You can use a statement of the form:
-
- atrib = (bground << 4 | fground);
-
- to set the attribute to the correct format.
-
- Attributes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 28
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.18. wn_wrap -- set/clear line wrap flag
-
- USAGE
-
- wn_wrap(wn, flag)
- WINDOWPTR wn;
- int flag;
-
- wn - window handle
- flag - wrap flag (TRUE or FALSE)
-
- Sets the line wrap flag for window functions. If line wrap is
- true, output that exceeds the width of a window is
- automatically placed on the next line. When the line wrap flag
- is false, output that exceeds the width of the window is lost.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.19. wn_sync -- set/clear cursor synchronization flag
-
- USAGE
-
- wn_sync(wn, flag)
- WINDOWPTR wn;
- int flag;
-
- wn - window handle
- flag - synchronization flag (TRUE or FALSE)
-
- When wn_sync is called with a value of TRUE all subsequent text
- output to the window will have a flashing (normal) cursor
- displayed following the last character output. Calling wn_sync
- with a value of false inhibits the cursor from physically
- advancing (it is always logically advanced).
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
-
-
-
- Page: 29
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.20. wn_scroll -- set scrolling method for window
-
- USAGE
-
- wn_scroll(wn,method)
- WINDOWPTR wn;
- int method;
-
- wn - window handle.
- method - BIOS or DMAS
-
- Set the method to be used to scroll the contents of the window
- to use either the rom bios (BIOS), or the flicker free DMA
- logic. BIOS and DMAS are defined in "windows.h".
-
- The default scrolling mode is DMAS.
-
- The Window BOSS incorporates machine independent logic that
- ensures that scrolling on color systems is performed in such a
- way as to totally eliminate snow and flicker. This logic,
- although bulletproof, can slow scrolling down. Setting the
- scrolling method to BIOS provides a machine independent way to
- improve the scrolling speed with a (perhaps) proportional
- increase in flicker. Keep in mind that recent developments in
- CGA and EGA technology have, for the most part, eliminated
- scrolling flicker at the hardware level. If your system is
- equipped with one of these boards, you may achieve a
- noticeable improvement in scrolling speed by using wn_scroll()
- to set the scrolling method to BIOS. Additionally, there are
- several console device drivers (FANSI and NANSI to mention
- two) that "patch" the bios routines to achieve the same
- result.
-
- Setting the scrolling method to BIOS when wn_dmaflg=FALSE has
- no effect.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- Color systems only.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 30
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.21. wn_dma -- set/clear write ram directly flag
-
- USAGE
-
- wn_dma(flag)
- int flag;
-
- flag - write to video ram flag (TRUE or FALSE).
-
- The windowing routines assume that your video card supports
- direct access to the video ram (normal for monochrome
- monitors).
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.22. wn_fixcsr -- update window cursor position
-
- USAGE
-
- wn_fixcsr(wn)
- WINDOWPTR wn;
-
- wn - window handle
-
- wn_fixcsr is a companion routine to wn_sync. Causes the
- physical cursor to be placed at the logical cursor location.
- It is typically called after wn_sync has been called to disable
- cursor synchronization. wn_fixcsr does not alter the state of
- the windows cursor synchronization flag.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
- Page: 31
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.23. wn_boxset -- set box drawing character set
-
- USAGE
-
- wn_boxset(ul, ur, tb, sd, ll, lr);
- int ul, ur, tb, sd, ll, lr;
-
- ul - upper left corner character
- ur - upper right corner character
- tb - top/bottom line character
- sd - left/right side character
- ll - lower left corner character
- lr - lower right corner character
-
- wn_boxset set the characters to be used to frame all future
- windows.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.24. wn_natrib -- set new attribute in window NOW!
-
- USAGE
-
- wn_natrib(wn,atrib)
- WINDOWPTR wn;
- int atrib;
-
- wn - window handle
- atrib - attribute to set the window specified by wn to.
-
- The attributes of the window are changed immediately.
-
- Attributes are defined in window.h
-
- The border is not altered.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
- Page: 32
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.25. wn_dborder -- draw (replace) border on window
-
- USAGE
-
- wn_dborder(wn, ul, ur, tb, sd, ll, lr);
- WINDOWPTR wn;
- int ul, ur, tb, sd, ll, lr;
-
- wn - window handle
- ul - upper left corner character
- ur - upper right corner character
- tb - top/bottom line character
- sd - left/right side character
- ll - lower left corner character
- lr - lower right corner character
-
- The currently defined border attribute is used when drawing the
- border.
-
- RETURNS
-
- TRUE or NULL if error
-
- CAUTIONS
-
- The window "wn" automatically becomes the top window tile upon
- return.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 33
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.26. _getca -- get character and attribute
-
- USAGE
-
- unsigned int _getca(page, row, col)
- int page, row, col;
-
-
- page - video page #
- row - row value (0-24)
- col - column value (0-79)
-
- _getca fetches the character and attribute at the screen
- coordinates defined by row and column. _getca is a general
- purpose routine and can be used outside of the window
- environment.
-
- RETURNS
-
- The character and attribute as an unsigned int. The attribute
- is in the upper byte, the character is in the lower byte.
-
- CAUTIONS
-
- None.
-
-
-
- 9.27. _putca -- put character and attribute
-
- USAGE
-
- _putca(page, atch, row, col);
- int page, row, col;
- unsigned atch;
-
- page - video page #
- atch - attribute and character
- attribute in high order byte
- character in low order byte
- row - row position for character (0-24)
- col - column position for character (0-79)
-
- _putch is a general purpose routine that can be used outside of
- the window environment.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- Page: 34
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.28. _vidblt -- video block transfer
-
- USAGE
-
- _vidblt(sseg, soff, dseg, doff, n);
- unsigned sseg, soff, dseg, doff;
- int n;
-
- sseg - source segment
- soff - source offset
- dseg - destination segment
- doff - destination offset
- n - number of bytes to BLT
-
- _vidblt is similar to the lattice movedata() function except
- that it waits for the video retrace signal before performing
- the block transfer.
-
- _vidblt is a general purpose function that can be used outside
- of the window environment.
-
- RETURNS
-
- Nothing
-
- CAUTIONS
-
- For use in color systems only.
-
- _vidblt references wn_sbit.
-
-
-
- 9.29. v_spage -- set active display page
-
- USAGE
-
- v_spage(page)
- int page;
-
- page - video page to switch the display to
-
- v_spage is a general purpose routine that can be used outside
- of the window environment.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- Color card only.
-
-
-
-
- Page: 35
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.30. v_cls -- clear entire video screen
-
- USAGE
-
- v_cls(atrib)
- int atrib;
-
- atrib - attribute to be used
-
- v_cls clears the entire video screen to the specified attribute
- and places the cursor in the upper left hand corner of the
- screen.
-
- v_cls is a general purpose routine that can be used outside of
- the window environment.
-
- Attributes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.31. v_smode -- set video mode
-
- USAGE
-
- v_smode(mode)
- int mode;
-
- mode - mode to set the display to
-
- v_smode is a general purpose routine which can be used outside
- of the window environment.
-
- Modes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
-
-
-
-
- Page: 36
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.32. v_wca -- write character and attribute
-
- USAGE
-
- v_wca(page, char, atrib, count);
- int page, char, atrib, count;
-
- page - video page #
- char - character to write
- atrib - attribute to use
- count - number of times two repeat
-
- v_wca writes the character defined by char count times starting
- at the current cursor location.
-
- v_wca is a general purpose routine that can be used outside of
- the window environment.
-
- Attributes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.33. v_wtty -- write character TTY mode
-
- USAGE
-
- v_wtty(char);
- int char;
-
- char - character to write
-
- v_wtty writes the character defined by char at the current cursor
- location.
-
- v_wtty is a general purpose routine that can be used outside of
- the window environment.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
-
- Page: 37
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.34. v_locate -- locate (position) cursor
-
- USAGE
-
- v_locate(page, row, col);
- int page, row, col;
-
- page - video page #
- row - row to position to
- col - column to position to
-
- v_locate positions the cursor to the absolute coordinates
- specified by row and col on the specified page. The upper left
- hand corner of the screen is (0,0).
-
- v_locate is a general purpose routine that can be used outside
- of the window environment.
-
- Row and Col are range checked. You CAN position the cursor
- slightly (25,80) off the screen.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.35. v_hidec -- hide cursor
-
- USAGE
-
- v_hidec();
-
- The physical cursor is located off the screen.
-
- This function does not affect any virtual cursor coordinates,
- it simply hides the physical cursor from view.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
-
-
-
-
- Page: 38
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.36. v_sctype -- set cursor type (style)
-
- USAGE
-
- v_sctype(type, start, end);
- int type, start, end;
-
- type - cursor style code (0=hidden, 1=normal, 2=slow, 3=fast)
- start - start scan line
- end - end scan line
-
- As an example, to set a slow flashing block style cursor invoke
- this function with type=1, start=6, and end=12 (color card).
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- Color and Monochrome adapters only.
- Not for use on the 3270 PC or Enhanced Graphics Adapters.
-
-
- 9.37. v_sapu -- scroll active display page up
-
- USAGE
-
- v_sapu(nl, rul, cul, rlr, clr, atrib);
- int nl, rul, cul, rlr, clr, atrib;
-
- nl - number of lines to scroll
- rul - row of upper left hand corner of scroll area
- cul - column of upper left hand corner of scroll area
- rlr - row of lower right corner of scroll area
- clr - column of lower right corner of scroll area
- atrib - attribute to be used for blanking
-
- A value of 0 for nl scrolls (blanks) the entire area. To clear
- the entire video screen use v_sapu(0, 0, 0, 24, 79, NORMAL).
-
- v_sapu is a general purpose routine that can be used outside of
- the window environment.
-
- Attributes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- Page: 39
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.38. v_sapd -- scroll active display page down
-
- USAGE
-
- v_sapd(nl, rul, cul, rlr, clr, atrib);
- int nl, rul, cul, rlr, clr, atrib;
-
- nl - number of lines to scroll
- rul - row of upper left hand corner of scroll area
- cul - column of upper left hand corner of scroll area
- rlr - row of lower right corner of scroll area
- clr - column of lower right corner of scroll area
- atrib - attribute to be used for blanking
-
- v_sapd is a general purpose routine that can be used outside of
- the window environment.
-
- A value of 0 for nl scrolls (blanks) the entire area. To clear
- the entire video screen use v_sapd(0, 0, 0, 24, 79, NORMAL).
-
- Attributes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
- 9.39. v_rcpos -- return current cursor position
-
- USAGE
-
- v_rcpos(page, row, col);
- int page;
- int *row, *col; /* POINTERS */
-
- int page - video page #
- int *row - pointer to int to receive row value
- int *col - pointer to int to receive column value
-
- v_rcpos is a general purpose routine that can be used outside
- of the window environment.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- Page: 40
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.40. v_rcvs -- return current video state
-
- USAGE
-
- v_rcvs(page, vm, cols);
- int *page, *vm, *cols; /* POINTERS */
-
- int *page - pointer to int to receive current video page #
- int *vm - pointer to int to receive current video mode
- int *cols - pointer to int to receive current screen width
-
- v_rcvs is a general purpose routine that can be used outside of
- the window environment.
-
- Modes are defined in windows.h.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.41. v_getch -- get keyboard character and scan code
-
- USAGE
-
- v_getch();
-
- v_getch is a general purpose routine that can be used outside
- of the window environment.
-
- RETURNS
-
- The character and scan code. The character is in the low order
- byte, the scan code in the high order byte.
-
- CAUTIONS
-
- v_getch waits for a key to be struck.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 41
-
-
-
-
-
- The Window BOSS
-
-
-
- 9.42. v_kstat -- get keyboard status
-
- USAGE
-
- v_kstat();
-
- v_kstat is a general purpose routine that can be used outside
- of the window environment.
-
- RETURNS
-
- TRUE if a character is available, FALSE if not.
-
- CAUTIONS
-
- None.
-
-
-
- 9.43. v_kflush -- flush keyboard buffer
-
- USAGE
-
- v_kflush();
-
- v_kflush clears the keyboard buffer of any pending input.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- 9.44. v_border -- set border color
-
- USAGE
-
- v_border(color)
- int color;
-
- Set overscan border to specified color.
-
- RETURNS
-
- Nothing.
-
- CAUTIONS
-
- None.
-
-
-
- Page: 42
-
-
-
-
-
- The Window BOSS
-
-
-
- 10. Registration Form
-
-
- The Window BOSS Registration and Feedback Form
-
-
-
- Name________________________________________________
-
- Company_____________________________________________
-
- Address_____________________________________________
-
- City, State, Zip____________________________________
-
- Daytime telephone___________________________________
-
- Compiler & Version__________________________________
-
- To register, send $50.00 (money order, personal check, call for
- COD - Connecticut State residents add 7.5% sales tax) to:
-
- Star Guidance Consulting
- 273 Windy Drive
- Waterbury, Connecticut 06705
- (203) 574-2449
-
-
- Likes, dislikes, features wanted, problems? List below:
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
- ___________________________________________________________________
-
-
-
-
-
- Page: 43
-
-
-
-
-
- The Window BOSS
-
-
-
- V
- v_border, 42
- v_cls, 36
- v_getch, 41
- v_hidec, 38
- v_kflush, 42
- v_kstat, 42
- v_locate, 38
- v_rcpos, 40
- v_rcvs, 41
- v_sapd, 40
- v_sapu, 39
- v_sctype, 39
- v_smode, 36
- v_spage, 35
- v_wca, 37
- v_wtty, 37
-
- W
- wn_activate, 27
- wn_boxset, 32
- wn_close, 19
- wn_clr, 27
- wn_color, 28
- wn_dborder, 33
- wn_delrow, 26
- wn_dma, 31
- wn_fixcsr, 31
- wn_gets, 24
- wn_insrow, 26
- wn_locate, 21
- wn_move, 20
- wn_natrib, 32
- wn_open, 17
- wn_printf, 22
- wn_puts, 23
- wn_putsa, 25
- wn_restore, 20
- wn_save, 19
- wn_scroll, 30
- wn_sync, 29
- wn_titla, 18
- wn_title, 18
- wn_wrap, 29
-
- _
- _getca, 34
- _putca, 34
- _vidblt, 35
-
-
-
-
-
-
-
- Page: 44
-
-
-
-
-
-
- ----------------end-of-author's-documentation---------------
-
- Software Library Information:
-
- This disk copy provided as a service of
-
- The Public (Software) Library
-
- If you have received this disk from another source, you
- should be aware that disks in the P(s)L are updated monthly
- so this copy may not be the latest version available.
- For a copy of the latest monthly software library newsletter
- and a list of the 800+ disks in the library, call or write
-
- The Public (Software) Library
- P.O.Box 35705 - F
- Houston, TX 77235-5705
- (713) 721-6104
-
- We are not the authors of this program, nor are we associated
- with the author in any way other than as a distributor of the
- program in accordance with the author's terms of distribution.
-
- Please direct shareware payments and specific questions about
- this program to the author of the program, whose name appears
- elsewhere in this documentation. If you have trouble getting
- in touch with the author, we will do whatever we can to help
- you with your questions. All programs have been tested and do
- run. To report problems, please use the form that is in the
- file PROBLEM.DOC on many of our disks or in other written for-
- mat with screen printouts, if possible.
-